package com.todo.strategy.online.service.api.response;

import com.todo.common.common.enums.AllowedCommentEnum;
import com.todo.strategy.common.enums.StrategyStatusEnum;
import com.todo.strategy.common.enums.StrategyTypeEnum;
import com.todo.strategy.common.enums.TravelDayTypeEnum;
import lombok.Data;

import java.util.List;

/**
 * @author azhebuxing
 * @date 2025/2/27 22:33
 * @description
 */
@Data
public class PlatformStrategyDetailResponse {

    /**
     * 主键id
     */
    private Long strategyId;
    /**
     * 标题
     */
    private String title;
    /**
     * 推荐原因
     */
    private String recommendDesc;
    /**
     * 攻略类型
     */
    private StrategyTypeEnum strategyType;
    /**
     * 旅游天数类型：一天一夜、两天一夜等
     */
    private TravelDayTypeEnum travelTimeType;
    /**
     * 推荐旅游月份
     */
    private List<String> recommendMonth;
    /**
     * 主图
     */
    private String mainImg;
    /**
     * 省份
     */
    private String province;
    /**
     * 城市
     */
    private String city;
    /**
     * 预计花费/元
     */
    private Integer moneyCost;
    /**
     * 预计游玩时长/小时
     */
    private Integer timeCost;
    /**
     * 综合评分
     */
    private Integer score;
    /**
     * 状态
     */
    private StrategyStatusEnum status;
    /**
     * 是否免费
     */
    private Integer isFree;
    /**
     * 是否允许评论
     */
    private AllowedCommentEnum allowComment;
    /**
     * 复用数量
     */
    private Integer referenceCount;
    /**
     * 浏览量
     */
    private Integer viewCount;
    /**
     * 点赞量
     */
    private Integer likeCount;
    /**
     * 收藏量
     */
    private Integer collectCount;
    /**
     * 评论数
     */
    private Integer commentCount;
    /**
     * 图片列表
     */
    private List<String> imgList;

    /**
     * 年龄建议
     */
    private String ageSuggest;
    /**
     * 旅行建议
     */
    private TravelSuggest travelSuggest;
    /**
     * 说明
     */
    private Instructions instructions;
    /**
     * 安全建议
     */
    private SecuritySuggest securitySuggest;

    @Data
    public static class Instructions{
        /**
         * 难度评分 1-10
         */
        private Integer difficultyLevel;
        /**
         * 当地文化介绍
         */
        private String localCulture;
    }

    @Data
    public static class SecuritySuggest{
        /**
         * 出行限制
         */
        private String travelLimit;
        /**
         * 常规出行注意事项
         */
        private String baseAttention;
        /**
         * 户外注意事项
         */
        private String outDoorAttention;
        /**
         * 基础问题救助
         */
        private String assistance;
    }

    @Data
    public static class  TravelSuggest{
        /**
         * 出行建议
         */
        private String travelSuggest;
        /**
         * 必备品
         */
        private List<String> essentialItems;
        /**
         * 建议携带品
         */
        private List<String> suggestCarry;
        /**
         * 季节建议
         */
        private String seasonSuggest;
        /**
         * 槽点
         */
        private String disclose;
    }

}
